Silicon chips typically use non-volatile memory, i.e. memory which retains the stored data when the power to the memory is switched off, to store a program which runs on start-up. This non-volatile memory may be onboard the chip or external to the chip and typically comprises ROM (read-only memory) or flash memory. Silicon chips often contain volatile memory, such as RAM (random-access memory), to store program variables and updates which occur during operation. Furthermore, as it is generally faster to read from RAM than from ROM, the content of the ROM (e.g. the firmware) is typically copied from the ROM into the RAM on start-up and then read from the RAM.
For many applications, it is desirable to reduce the size (i.e. the area) of a silicon chip. If the size of a chip is reduced, the number of chips which can be fabricated on a silicon wafer is increased which reduces the cost of the device. Reducing the size also increases the yield of good chips from a wafer because of the reduction in likelihood of a manufacturing defect on the chip. Additionally, with the drive towards miniaturization of electronic devices (and particular consumer electronic devices), smaller chips are also advantageous.
The embodiments described below are not limited to implementations which solve any or all of the disadvantages of known silicon chip and memory designs.